package com.hdy.javachatroomdemo.advice;

//import com.fasterxml.jackson.databind.ObjectMapper;
//import com.hdy.javachatroomdemo.Enum.ResultCodeEnum;
//import com.hdy.javachatroomdemo.Model.Result;
//import lombok.SneakyThrows;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.core.MethodParameter;
//import org.springframework.http.MediaType;
//import org.springframework.http.server.ServerHttpRequest;
//import org.springframework.http.server.ServerHttpResponse;
//import org.springframework.stereotype.Controller;
//import org.springframework.web.bind.annotation.ControllerAdvice;
//import org.springframework.web.bind.annotation.ResponseBody;
//import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice;
//@ControllerAdvice
//@ResponseBody
//public class ResponseAdvice implements ResponseBodyAdvice {
//    @Autowired
//    ObjectMapper objectMapper;
//    @Override
//    public boolean supports(MethodParameter returnType, Class converterType) {
//        return true;
//    }
//
//    @SneakyThrows
//    @Override
//    public Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType, Class selectedConverterType, ServerHttpRequest request, ServerHttpResponse response) {
//        if(body instanceof String){
//            return objectMapper.writeValueAsString(Result.success(ResultCodeEnum.SUCCESS,body));
//        }
//        if(body instanceof Result){
//            return body;
//        }
//        return Result.success(ResultCodeEnum.SUCCESS,body);
//    }
//}
